From 00c29e1fbe231a6bcb0041fa14298e539963f258 Mon Sep 17 00:00:00 2001 From: Nirbheek Chauhan Date: Sat, 7 Jul 2018 00:20:41 +0530 Subject: [PATCH] meson: Use proxy-libintl subproject when needed and available Such as on Windows with MSVC. --- meson.build | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/meson.build b/meson.build index 5e48265cd4..1483353cfa 100644 --- a/meson.build +++ b/meson.build @@ -591,9 +591,24 @@ endif # Check for bind_textdomain_codeset, including -lintl if GLib brings it in by # doing the same check as glib. We can't check that by linking to glib because # it might be a subproject and hence not built yet. -libintl_dep = cc.find_library('intl', required : false) -if cc.has_function('bind_textdomain_codeset', dependencies: libintl_dep) +if cc.has_function('ngettext') + libintl_dep = [] cdata.set('HAVE_BIND_TEXTDOMAIN_CODESET', 1) +else + libintl_dep = cc.find_library('intl', required : false) + if cc.has_function('bind_textdomain_codeset', dependencies: libintl_dep) + cdata.set('HAVE_BIND_TEXTDOMAIN_CODESET', 1) + else + # Don't use subproject('proxy-libintl').get_variable('intl_dep') because that + # makes the dependency unconditional. This way, people have the option of + # either not providing the subproject or disabling it entirely with + # --wrap-mode=nodownload or nofallback. + libintl_dep = dependency('', required : false, + fallback: ['proxy-libintl', 'intl_dep']) + if libintl_dep.found() + cdata.set('HAVE_BIND_TEXTDOMAIN_CODESET', 1) + endif + endif endif if os_unix -- 2.30.2